// 动态加载当前目录及其子目录下所有的 .js 文件
const modules = import.meta.glob(['./**/*.js','./*.js'], { eager: true });
// 合并所有模块的默认导出到一个 endpoints 对象中
const allEndpoints = (builder) => {
  const endpoints = {};
  for (let key in modules) {
    // 正则表达式匹配路径中的目录名部分
    const regex = /\/?([^\/]+)\.js$/;
    const match = key.match(regex);

    if (typeof modules[key].default === 'function') {
      let moduleObj = modules[key].default(builder);
      for (let key in moduleObj) {
        Object.assign(endpoints, { [match[1] + key]: moduleObj[key] });
      }
    }
  }

  return endpoints;
};

export default allEndpoints;
